negotiator.boaframework
Class AcceptanceStrategy

java.lang.Object
  extended by negotiator.boaframework.AcceptanceStrategy
Direct Known Subclasses:
AC_ABMP, AC_AgentFSEGA, AC_AgentK, AC_AgentK2, AC_AgentSmith, AC_BRAMAgent, AC_Combi, AC_CombiAvg, AC_CombiBestAvg, AC_CombiBestAvgDiscounted, AC_CombiMax, AC_CombiMaxInWindow, AC_CombiMaxInWindowDiscounted, AC_CombiProb, AC_CombiProbDiscounted, AC_CombiV2, AC_CombiV3, AC_CombiV4, AC_Const, AC_ConstDiscounted, AC_False, AC_Gahboninho, AC_Gap, AC_HardHeaded, AC_IAMcrazyHaggler, AC_IAMHaggler2010, AC_IAMHaggler2011, AC_Next, AC_NiceTitForTat, AC_Nozomi, AC_Previous, AC_TheNegotiator, AC_Time, AC_True, AC_ValueModelAgent, AC_Yushu, Multi_AcceptanceCondition

public abstract class AcceptanceStrategy
extends java.lang.Object

Describes an acceptance strategy of an agent of the BOA framework. Tim Baarslag, Koen Hindriks, Mark Hendrikx, Alex Dirkzwager and Catholijn M. Jonker. Decoupling Negotiating Agents to Explore the Space of Negotiation Strategies

Author:
Alex Dirkzwager, Mark Hendrikx

Field Summary
protected  SharedAgentState helper
          Reference to the helper-object, which is used when there is overlap between the acceptance condition and offering strategy.
protected  NegotiationSession negotiationSession
          Reference to the object which holds all information about the negotiation.
protected  OfferingStrategy offeringStrategy
          Reference to the offering strategy.
protected  OpponentModel opponentModel
          Reference to opponnent model of agent.
 
Constructor Summary
AcceptanceStrategy()
           
 
Method Summary
abstract  Actions determineAcceptability()
          Determines to either to either accept or reject the opponent's bid or even quit the negotiation.
 void endSession(NegotiationResult result)
          Method called at the end of the negotiation.
 void init(NegotiationSession negotiationSession, OfferingStrategy offeringStrategy, OpponentModel opponentModel, java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          Standard initialize method to be called after using the empty constructor.
 boolean isMAC()
          Method which states if the current acceptance strategy is the Multi-Acceptance Strategy.
 java.io.Serializable loadData()
          Method used to load the saved object, possibly created in a previous negotiation session.
 java.lang.String printParameters()
           
 void setOpponentUtilitySpace(BilateralAtomicNegotiationSession fNegotiation)
          Method which may be overwritten to get access to the opponent's utilityspace in an experimental setup.
 void storeData(java.io.Serializable object)
          Method used to store data that should be accessible in the next negotiation session on the same scenario.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

negotiationSession

protected NegotiationSession negotiationSession
Reference to the object which holds all information about the negotiation.


offeringStrategy

protected OfferingStrategy offeringStrategy
Reference to the offering strategy.


helper

protected SharedAgentState helper
Reference to the helper-object, which is used when there is overlap between the acceptance condition and offering strategy.


opponentModel

protected OpponentModel opponentModel
Reference to opponnent model of agent.

Constructor Detail

AcceptanceStrategy

public AcceptanceStrategy()
Method Detail

init

public void init(NegotiationSession negotiationSession,
                 OfferingStrategy offeringStrategy,
                 OpponentModel opponentModel,
                 java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          throws java.lang.Exception
Standard initialize method to be called after using the empty constructor. Most of the time this method should be overridden for usage by the decoupled framework.

Parameters:
negotiationSession - state of the negotiation.
offeringStrategy - of the agent.
parameters - of the acceptance strategy.
Throws:
java.lang.Exception - thrown when initializing the acceptance strategy fails.

printParameters

public java.lang.String printParameters()
Returns:
string representation of the parameters supplied to the model.

setOpponentUtilitySpace

public void setOpponentUtilitySpace(BilateralAtomicNegotiationSession fNegotiation)
Method which may be overwritten to get access to the opponent's utilityspace in an experimental setup.

Parameters:
fNegotiation - reference to negotiation setting.

determineAcceptability

public abstract Actions determineAcceptability()
Determines to either to either accept or reject the opponent's bid or even quit the negotiation.

Returns:
one of three possible actions: Actions.Accept, Actions.Reject, Actions.Break.

storeData

public final void storeData(java.io.Serializable object)
Method used to store data that should be accessible in the next negotiation session on the same scenario. This method can be called during the negotiation, but it makes more sense to call it in the endSession method.

Parameters:
object - to be saved by this component.

loadData

public final java.io.Serializable loadData()
Method used to load the saved object, possibly created in a previous negotiation session. The method returns null when such an object does not exist yet.

Returns:
saved object or null when not available.

endSession

public void endSession(NegotiationResult result)
Method called at the end of the negotiation. Ideal location to call the storeData method to update the data to be saved.

Parameters:
result - of the negotiation.

isMAC

public boolean isMAC()
Method which states if the current acceptance strategy is the Multi-Acceptance Strategy. This method should always return false, except for the MAC.

Returns:
if AC is MAC.